package com.vision.service;

import com.vision.pojo.vo.CurrentLoginUserVO;
import com.vision.pojo.entity.User;
import com.vision.pojo.vo.PageVO;
import com.vision.pojo.vo.UserInfoVO;

public interface UserService {

    String sendVerificationCode(String emailOrPhone) throws Exception;

    User register(String emailOrPhone);

    User queryUserByPhoneOrEmail(String phoneOrEmail);

    CurrentLoginUserVO getCurrentLoginUser();

    void updateUserBaseInfo(User user);

    void updateEmail(String email);

    void UpdatePhone(String phone);

    User getUserById(Integer id);

    void updatePassword(Integer id, String password);

    UserInfoVO getUserDetailInfoById(Integer userId);

    PageVO<UserInfoVO> getUserList(Integer pageNum, Integer pageSize, String nickname,Integer userId);
}
